package com.neusoft.elm.view.impl;

import java.util.List;
import java.util.Scanner;

import com.neusoft.elm.dao.FoodDao;
import com.neusoft.elm.dao.impl.FoodDaoImpl;
import com.neusoft.elm.po.Food;
import com.neusoft.elm.view.FoodView;

public class FoodViewImpl implements FoodView{
	private Scanner input = new Scanner(System.in);

	@Override
	public List<Food> showFoodList(Integer businessId) {
		FoodDao dao = new FoodDaoImpl();
		List<Food> list = dao.listFoodByBusinessId(businessId);
		System.out.println("食品编号\t食品名称\t食品介绍\t食品价格");
		for(Food food:list){
			System.out.println(food.getFoodId() + "\t" + food.getFoodName() + "\t" + food.getFoodExplain() + "\t" + food.getFoodPrice());
		}
		return list;
		
	}

	@Override
	public void saveFood(Integer BusinessId) {
		Food food = new Food();
		System.out.println("请输入食品名称：");
		food.setFoodName(input.next());
		System.out.println("请输入食品介绍：");
		food.setFoodExplain(input.next());
		System.out.println("请输入食品价格：");
		food.setFoodPrice(input.nextDouble());
		food.setBusinessId(BusinessId);
		FoodDao dao = new FoodDaoImpl();
		int result = dao.saveFood(food);
		if(result > 0){
			System.out.println("新增食品成功！");
		}
		else{
			System.out.println("新增食品失败！");
		}
		
	}

	@Override
	public void updateFood(Integer businessId) {
		FoodDao dao = new FoodDaoImpl();
		List<Food> list = showFoodList(businessId);

		if(list.size() == 0){
			System.out.println("当前没有任何食品！");
		}else{
			System.out.println("请输入要更新的食品编号：");
			int foodId = input.nextInt();
			Food food = dao.getFoodById(foodId);
			//修改食品名称
			String inputStr = "";
			System.out.println("是否修改食品名称(y/n).");
			inputStr = input.next();
			if(inputStr.equals("y")) {
				System.out.println("请输入新的食品名称：");
				food.setFoodName(input.next());
			}
			//修改食品介绍
			System.out.println("是否修改食品介绍(y/n).");
			inputStr = input.next();
			if(inputStr.equals("y")) {
				System.out.println("请输入新的食品介绍：");
				food.setFoodExplain(input.next());
			}
			//修改食品价格
			System.out.println("是否修改食品价格(y/n).");
			inputStr = input.next();
			if(inputStr.equals("y")) {
				System.out.println("请输入新的食品价格：");
				food.setFoodPrice(input.nextDouble());
			}
			int result = dao.updateFood(food);
			if(result>0) {
				System.out.println("\n修改食品信息成功！\n");
			} else {
				System.out.println("\n修改食品信息失败！\n");
			}
		}
	}

	@Override
	public void removeFood(Integer businessId) {
		FoodDao dao = new FoodDaoImpl();
		List<Food> list = showFoodList(businessId);

		if(list.size() == 0){
			System.out.println("当前没有任何食品！");
		}else{
			System.out.println("请输入要删除的食品编号：");
			int foodId = input.nextInt();
			//确认删除食品
			String inputStr = "";
			System.out.println("是否确认删除食品(y/n).");
			inputStr = input.next();
			if(inputStr.equals("y")) {
				int result = dao.removeFood(foodId);
				if(result>0) {
					System.out.println("\n删除食品信息成功！\n");
				} else {
					System.out.println("\n删除食品信息失败！\n");
				}
			}
		}
	}

}
